# physics/handle_jump.py
# 处理火柴人跳跃：只有在地面上时才能跳跃
# 结合 handle_keyboard 和 check_collision 使用

def handle_jump(stickman, should_jump):
    """
    根据输入指令和当前状态决定是否执行跳跃

    参数:
        stickman: Stickman 类的实例
        should_jump: bool，表示用户是否按下跳跃键（如 W 或 上箭头）

    说明:
        只有当 should_jump 为 True 且 stickman.on_ground 为 True 时，
        才给予向上的初速度（jump_power），并标记为离地状态。
    """
    # 检查是否满足跳跃条件
    if should_jump and stickman.on_ground:
        # 设置跳跃初速度（负值表示向上）
        stickman.vy = stickman.jump_power  # 例如：-12

        # 标记为离开地面（防止在空中再次跳跃，即“二段跳”）
        stickman.on_ground = False

        # 注意：水平速度（vx）保持不变，由键盘输入控制